package equations;


import java.util.ArrayList;



/**
 * The MathFactsCategory for single digit multiplication. The constructor
 * populates the ArrayLists for each set of problems (multiplication of 1-9).
 * Multiplication1 objects are used as a parameter for the quizzer class.
 * All getter methods return the lists for 1-9.
 * @author stewarte
 *
 */
public class Multiplication1Stub implements MathFactsCategory{
	
	private ArrayList<Problem> problems1x;
	private ArrayList<Problem> problems2x;
	private ArrayList<Problem> problems3x;
	private ArrayList<Problem> problems4x;
	private ArrayList<Problem> problems5x;
	private ArrayList<Problem> problems6x;
	private ArrayList<Problem> problems7x;
	private ArrayList<Problem> problems8x;
	private ArrayList<Problem> problems9x;
	
	public Multiplication1Stub(){
		
		//Populates the equations and solutions for the problem lists
		
		//1x equations
		problems1x=new ArrayList<Problem>();
		problems1x.add(new Problem(" 1 X 3 = ","3"));
		problems1x.add(new Problem(" 1 X 7 = ","7"));
		problems1x.add(new Problem(" 1 X 2 = ","2"));
		problems1x.add(new Problem(" 1 X 9 = ","9"));
		problems1x.add(new Problem(" 1 X 6 = ","6"));
		problems1x.add(new Problem(" 1 X 4 = ","4"));
		problems1x.add(new Problem(" 1 X 8 = ","8"));
		problems1x.add(new Problem(" 1 X 1 = ","1"));
		problems1x.add(new Problem(" 1 X 5 = ","5"));
		
		//2x equations
		problems2x = new ArrayList<Problem>();
		problems2x.add(new Problem(" 2 X 4 = ","8"));
		problems2x.add(new Problem(" 2 X 6 = ","12"));
		problems2x.add(new Problem(" 2 X 1 = ","2"));
		problems2x.add(new Problem(" 2 X 7 = ","14"));	
		problems2x.add(new Problem(" 2 X 3 = ","6"));	
		problems2x.add(new Problem(" 2 X 8 = ","16"));
		problems2x.add(new Problem(" 2 X 2 = ","4"));
		problems2x.add(new Problem(" 2 X 5 = ","10"));
		problems2x.add(new Problem(" 2 X 9 = ","18"));
		
		//3x equations
		problems3x = new ArrayList<Problem>();
		problems3x.add(new Problem(" 3 X 2 = ","6"));
		problems3x.add(new Problem(" 3 X 5 = ","15"));
		problems3x.add(new Problem(" 3 X 3 = ", "9"));
		problems3x.add(new Problem(" 3 X 9 = ", "27"));
		problems3x.add(new Problem(" 3 X 1 = ", "3"));
		problems3x.add(new Problem(" 3 X 6 = ", "18"));
		problems3x.add(new Problem(" 3 X 8 = ", "24"));
		problems3x.add(new Problem(" 3 X 4 = ", "12"));
		problems3x.add(new Problem(" 3 X 7 = ", "21"));
		
		//4x equations
		problems4x = new ArrayList<Problem>();
		problems4x.add(new Problem(" 4 X 6 = ", "24"));
		problems4x.add(new Problem(" 4 X 9 = ", "36"));
		problems4x.add(new Problem(" 4 X 4 = ", "16"));
		problems4x.add(new Problem(" 4 X 1 = ", "4"));
		problems4x.add(new Problem(" 4 X 3 = ", "12"));
		problems4x.add(new Problem(" 4 X 7 = ", "28"));
		problems4x.add(new Problem(" 4 X 2 = ", "8"));
		problems4x.add(new Problem(" 4 X 5 = ", "20"));
		problems4x.add(new Problem(" 4 X 8 = ","32"));
		
		//5x equations
		problems5x = new ArrayList<Problem>();
		problems5x.add(new Problem(" 5 X 8 = ", "40"));
		problems5x.add(new Problem(" 5 X 2 = ", "10"));
		problems5x.add(new Problem(" 5 X 5 = ", "25"));
		problems5x.add(new Problem(" 5 X 7 = ", "35"));
		problems5x.add(new Problem(" 5 X 1 = ", "5"));
		problems5x.add(new Problem(" 5 X 9 = ", "45"));
		problems5x.add(new Problem(" 5 X 3 = ", "15"));
		problems5x.add(new Problem(" 5 X 6 = ", "30"));
		problems5x.add(new Problem(" 5 X 4 = ", "20"));
		
		//6x equations
		problems6x = new ArrayList<Problem>();
		problems6x.add(new Problem(" 6 X 9 = ", "54"));
		problems6x.add(new Problem(" 6 X 6 = ", "36"));
		problems6x.add(new Problem(" 6 X 1 = ", "6"));
		problems6x.add(new Problem(" 6 X 4 = ", "24"));
		problems6x.add(new Problem(" 6 X 8 = ", "48"));
		problems6x.add(new Problem(" 6 X 2 = ", "12"));
		problems6x.add(new Problem(" 6 X 7 = ", "42"));
		problems6x.add(new Problem(" 6 X 3 = ", "18"));
		problems6x.add(new Problem(" 6 X 5 = ", "30"));
		
		//7x equations
		problems7x = new ArrayList<Problem>();
		problems7x.add(new Problem(" 7 X 1 = ", "7"));
		problems7x.add(new Problem(" 7 X 4 = ","28"));
		problems7x.add(new Problem(" 7 X 9 = ", "63"));
		problems7x.add(new Problem(" 7 X 3 = ", "21"));
		problems7x.add(new Problem(" 7 X 7 = ", "49"));
		problems7x.add(new Problem(" 7 X 5 = ", "35"));
		problems7x.add(new Problem(" 7 X 2 = ", "14"));
		problems7x.add(new Problem(" 7 X 6 = ", "42"));
		problems7x.add(new Problem(" 7 X 8 = ", "56"));
		
		//8x equations
		problems8x = new ArrayList<Problem>();
		problems8x.add(new Problem(" 8 X 5 = ", "40"));
		problems8x.add(new Problem(" 8 X 1 = ", "8"));
		problems8x.add(new Problem(" 8 X 6 = ", "48"));
		problems8x.add(new Problem(" 8 X 2 = ", "16"));
		problems8x.add(new Problem(" 8 X 8 = ", "64"));
		problems8x.add(new Problem(" 8 X 7 = ", "56"));
		problems8x.add(new Problem(" 8 X 4 = ", "32"));
		problems8x.add(new Problem(" 8 X 9 = ", "72"));
		problems8x.add(new Problem(" 8 X 3 = ", "24"));
		
		//9x equations
		problems9x = new ArrayList<Problem>();
		problems9x.add(new Problem(" 9 X 7 = ", "63"));
		problems9x.add(new Problem(" 9 X 3 = ", "27"));
		problems9x.add(new Problem(" 9 X 1 = ","9"));
		problems9x.add(new Problem(" 9 X 8 = ","72"));
		problems9x.add(new Problem(" 9 X 4 = ", "36"));
		problems9x.add(new Problem(" 9 X 9 = ", "81"));
		problems9x.add(new Problem(" 9 X 6 = ", "54"));
		problems9x.add(new Problem(" 9 X 2 = ", "18"));
		problems9x.add(new Problem(" 9 X 5 = ","45"));


		
	}//End Constructor
	
	@Override
	public ArrayList<Problem> getProblem1() {
		return problems1x;
	}

	@Override
	public ArrayList<Problem> getProblem2() {
		return problems2x;
	}

	@Override
	public ArrayList<Problem> getProblem3() {
		return problems3x;
	}

	@Override
	public ArrayList<Problem> getProblem4() {
		return problems4x;
	}

	@Override
	public ArrayList<Problem> getProblem5() {
		return problems5x;
	}

	@Override
	public ArrayList<Problem> getProblem6() {
		return problems6x;
	}

	@Override
	public ArrayList<Problem> getProblem7() {
		return problems7x;
	}

	@Override
	public ArrayList<Problem> getProblem8() {
		return problems8x;
	}

	@Override
	public ArrayList<Problem> getProblem9() {
		return problems9x;
	}
	
	@Override
	public String toString(){
		return "Multiplication I";
	}
	
}//End Class

